package main

import (
	"bufio"
	"fmt"
	"io"
	"io/ioutil"
	"os"
)

// ioutil读取文件
func readFile(fileName string) {
	content, err := ioutil.ReadFile(fileName)
	if err != nil {
		fmt.Println("读取文件失败：%s", err)
	}
	fmt.Println(string(content))
}

// 一行一行读取
func readByLine(f *os.File) {
	reader := bufio.NewReader(f)
	for {
		str, err := reader.ReadString('\n') // 字符
		if err == io.EOF {
			fmt.Printf(str)
			return
		}
		if err != nil {
			fmt.Printf("读取失败")
		}
		fmt.Printf(str)
	}
}

func main() {
	file, err := os.Open("../文件操作/xx.txt")
	if err != nil {
		fmt.Println("打开文件失败")
		return
	}

	defer file.Close()
	// 利用bufio从缓冲区读文件
	readByLine(file)

	// 使用ioutil读取
	readFile("../文件操作/xx.txt")
}
